package com.zbkj.crmeb.chant.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;

import com.baomidou.mybatisplus.annotation.*;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 渠道商户表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("eb_channel_merchant")
@ApiModel(value = "ChannelMerchant对象", description = "渠道商户表")
public class ChannelMerchant implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "渠道id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "渠道类型")
    private Integer channelType;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "平台加价率")
    private BigDecimal markupRate;

    @ApiModelProperty(value = "渠道名称")
    private String channelName;

    @ApiModelProperty(value = "联系人")
    private String contactPerson;

    @ApiModelProperty(value = "联系电话区号")
    private String areaCode;

    @ApiModelProperty(value = "联系电话")
    private String contactPhone;

    @ApiModelProperty(value = "可见品牌")
    private String brandIds;

    @ApiModelProperty(value = "可见供应商")
    private String suppliersIds;

    @ApiModelProperty(value = "展示供应商")
    private String showSuppliersIds;
    
    @ApiModelProperty(value = "商户号")
    private String merchantNo;
    
    @ApiModelProperty(value = "商户秘钥")
    private String merchantSecret;

    @ApiModelProperty(value = "运费模板id(1:大陆 2:港澳 3:意大利)")
    private String tempId;
    
    @ApiModelProperty(value = "收件详细地址,省+市+区+门牌号相加成完整地址")
    @NotBlank(message = "收货详细地址不能为空")
    private String detail;

    @ApiModelProperty(value = "收件人姓名")
    private String consigneeName;

    @ApiModelProperty(value = "收件人号码")
    private String consigneePhone;

    @ApiModelProperty(value = "商户回调地址")
    private String backUrl;
    
    @ApiModelProperty(value = "物流介绍图")
    private String logisticsImage;

    @ApiModelProperty(value = "店铺介绍图")
    private String storeImage;
    
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "是否删除")
    private Boolean isDel;

    @ApiModelProperty(value = "是否自动上架（0否  1是）")
    private Integer automaticShelves;

    @ApiModelProperty(value = "是否启用积分抵扣（0否  1是）")
    private Integer enableIntegral;
    @ApiModelProperty(value = "销售类型 0-2b 1-2c")
    private Integer appletType;

    @ApiModelProperty(value = "是否自提（0否  1是）")
    private Integer isTake;

    @ApiModelProperty(value = "全部商品价格尾号（0-9）")
    private Integer priceTailNumber;

    @ApiModelProperty(value = "服务商id (0代表平台)")
    private Integer agentId;

    @ApiModelProperty(value = "是否显示汇率")
    private Boolean isShowRate;
    
    @ApiModelProperty(value = "邮箱")
    private String email;
    
    @ApiModelProperty(value = "所属国家")
    private String country;
    
    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "是否二手（0否 1是）")
    private Integer secondHand;

    private Integer applyId;

    @ApiModelProperty(value = "自建订单是否自动确认（0否  1是）")
    private Integer autoConfirm;

    @ApiModelProperty(value = "云仓订单是否自动推送（0否  1是）")
    private Integer autoPush;

    @ApiModelProperty(value = "供应商自动推送关联商户（没有为null；多个,隔开）")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String confirmIds;

    @ApiModelProperty(value = "供应商包邮关联商户（没有为null；多个,隔开）")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String freeIds;

    @ApiModelProperty(value = "供应商加价率关联商户（没有为null；多个,隔开）")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String rateIds;

    @ApiModelProperty(value = "供应商关联商户额外加价率")
    private BigDecimal extraRate;

    @ApiModelProperty(value = "会员背景图")
    private String backgroundImageUrl;

    @ApiModelProperty(value = "会员背景色")
    private String backgroundColor;

    @ApiModelProperty(value = "会员展示样式1背景图,2背景色")
    private Integer displayStyle;

    @ApiModelProperty(value = "个人中心是否展示0不展示,1展示")
    private Boolean personalCenterFlag;

    @ApiModelProperty(value = "商品详情是否展示0不展示,1展示")
    private Boolean productDetailsFlag;

    @ApiModelProperty(value = "开启批采功能（0否  1是）")
    private Integer batchPicking;

    @ApiModelProperty(value = "商户子账号人数")
    private Integer subAccountNumber;

    @ApiModelProperty(value = "产品类型")
    private Integer productType;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "供应商来源： winery 等")
    private String source;

}
